/*
 * @Description: 系统模块
 * @Version: 1.0
 * @author: Shi Hexiang
 * @Date: 2023-09-22 10:30:45
 * @LastEditors: yxx
 * @LastEditTime: 2025-03-05 16:31:45
 */

import { SysRes } from "@/api/interface/system/response"
import { SysReq } from "@/api/interface/system/request"
import { ResPage } from "@/api/interface/index"
import http from "@/api"

// ------------------菜单管理------------------ //
// 菜单管理 树状查询
export const getMenuTreeApi = () => {
  return http.get<SysRes.MenuTree[]>("/sys/menu/tree", {}, { loading: true })
}
// 菜单管理 树状修改
export const menuTreeUpdateApi = (params: SysReq.MenuUpdate) => {
  return http.post("/sys/menu/add", params, { loading: false })
}
// 菜单管理 树状删除
export const menuTreeDeleteApi = (params: { id: number }) => {
  return http.post("/sys/menu/remove", params, { loading: false })
}
// ------------------用户管理------------------ //
// 用户管理 分页查询
export const getUserPageListApi = (params: SysReq.UserPageList) => {
  return http.post<ResPage<SysRes.UserPageList>>("/sys/user/page", params, { loading: false })
}
// 用户管理 所有用户
export const getAllUserApi = () => {
  return http.get<SysRes.UserSelect[]>("/sys/user/list", {}, { loading: true })
}
// 用户管理 所有用户（除了超级管理员）
export const getUserListApi = () => {
  return http.get<SysRes.UserSelect[]>("/sys/user/query", {}, { loading: false })
}
// 用户管理 新增|修改
export const addUserApi = (params: SysReq.UserAdd) => {
  return http.post("/sys/user/add", params, { loading: false })
}
// 用户管理 删除
export const deleteUserApi = (params: SysReq.UserDelete) => {
  return http.post("/sys/user/delete", params, { loading: false })
}
// 用户管理 修改个人信息
export const aloneAddUserApi = (params: SysReq.UserAloneAdd) => {
  return http.post<any>("/sys/user/modify/userInfo", params, { loading: false })
}
// ------------------角色管理------------------ //
// 角色管理 分页查询
export const getRolePageListApi = (params: SysReq.RolePageList) => {
  return http.post<ResPage<SysRes.RolePageList>>("/sys/role/page", params, { loading: false })
}
// 角色管理 新增|修改
export const addRoleApi = (params: SysReq.RoleAdd) => {
  return http.post("/sys/role/add", params, { loading: false })
}
// 角色管理 删除
export const deleteRoleApi = (params: SysReq.RoleDelete) => {
  return http.post("/sys/role/remove", params, { loading: false })
}
// 角色管理 管理根据角色id查询菜单ids
export const getRoleMenuIdsApi = (params: { id: number }) => {
  return http.post<number[]>("/sys/role/menuIds", params, { loading: false })
}
// ------------------日志管理------------------ //
// 操作日志 分页查询
export const getLogPageListApi = (params: SysReq.LogPageList) => {
  return http.post<ResPage<SysRes.LogPageList>>("/sys/log/opt/page", params, { loading: false })
}
// 操作日志 查看详情
export const logDetailApi = (params: { id: number }) => {
  return http.post<SysRes.LogDetail>("/sys/log/opt/detail", params, { loading: false })
}
// 登录日志 分页查询
export const getLoginLogPageListApi = (params: SysReq.LoginLogPageList) => {
  return http.post<ResPage<SysRes.LoginLogPageList>>("/sys/log/login/page", params, { loading: false })
}
// 登录日志 查看详情
export const logLoginDetailApi = (params: { id: number }) => {
  return http.post<SysRes.LoginLogPageList>("/sys/log/login/detail", params, { loading: false })
}
